package arraylist02;

import java.util.ArrayList;

/*
* ArrayList底层原理：
*   1.ArrayList 底层使用的是一个引用类型的数组来存储元素Object[] elementDate
*       第一次调用add()方法添加元素的时候，就会使用默认容量初始化这个数组
*       int[] arr = new int[10]; //这个数组中所有的元素都是int类型，相当于一次声明了10个int类型变量
*       arr[0] = 13 // 相当于 int e0 = 13;
*
*       Object[] elementDate = new Object[10]  // 个数组中所有的元素都是Object类型，相当于一次声明了10个object类型变量
*       elementDate[0] = "张三"; // 相当于Object e0 = "张三"   属于多态
*       elementDate[1] = "李四"; // 相当于Object e1 = "李四"   属于多态
* */
public class ArrayListDemo01 {
    public static void main(String[] args) {
        ArrayList<String> al = new ArrayList<String>();
        al.add("张三"); // Object[] elementDate = new Object[10]
                       //  elementDate[0] = "张三";
        al.add("李四"); // elementDate[1] = "李四";
        al.add("王五"); // elementDate[2] = "王五";
        System.out.println(al); // [张三, 李四, 王五]
    }
}
